package org.javaforever.gatescore.vue;

import java.util.ArrayList;
import java.util.List;

import org.javaforever.gatescore.core.Statement;
import org.javaforever.gatescore.core.StatementList;
import org.javaforever.gatescore.core.Writeable;
import org.javaforever.gatescore.core.WriteableUtil;

public class NavbarVue extends ElementUIPage{
	private static final long serialVersionUID = 1568100703452879376L;
	protected String projectHome = "https://gitee.com/jerryshensjf/LightSBMEU/";

	@Override
	public StatementList generateStatementList() {
		List<Writeable> sList = new ArrayList<Writeable>();
		sList.add(new Statement(1000L,0,"<template>"));
		sList.add(new Statement(2000L,1,"<div class=\"navbar\">"));
		sList.add(new Statement(3000L,2,"<hamburger :toggle-click=\"toggleSideBar\" :is-active=\"sidebar.opened\" class=\"hamburger-container\"/>"));
		sList.add(new Statement(4000L,0,""));
		sList.add(new Statement(5000L,2,"<breadcrumb class=\"breadcrumb-container\"/>"));
		sList.add(new Statement(6000L,0,""));
		sList.add(new Statement(7000L,2,"<div class=\"right-menu\">"));
		sList.add(new Statement(8000L,3,"<template v-if=\"device!=='mobile'\">"));
		sList.add(new Statement(9000L,4,"<search class=\"right-menu-item\" />"));
		sList.add(new Statement(10000L,0,""));
		sList.add(new Statement(11000L,4,"<error-log class=\"errLog-container right-menu-item hover-effect\"/>"));
		sList.add(new Statement(12000L,0,""));
		sList.add(new Statement(13000L,4,"<screenfull class=\"right-menu-item hover-effect\"/>"));
		sList.add(new Statement(14000L,0,""));
		sList.add(new Statement(15000L,4,"<el-tooltip :content=\"$t('navbar.size')\" effect=\"dark\" placement=\"bottom\">"));
		sList.add(new Statement(16000L,5,"<size-select class=\"right-menu-item hover-effect\"/>"));
		sList.add(new Statement(17000L,4,"</el-tooltip>"));
		sList.add(new Statement(18000L,0,""));
		sList.add(new Statement(19000L,4,"<lang-select class=\"right-menu-item hover-effect\"/>"));
		sList.add(new Statement(20000L,0,""));
		sList.add(new Statement(21000L,4,"<el-tooltip :content=\"$t('navbar.theme')\" effect=\"dark\" placement=\"bottom\">"));
		sList.add(new Statement(22000L,5,"<theme-picker class=\"right-menu-item hover-effect\"/>"));
		sList.add(new Statement(23000L,4,"</el-tooltip>"));
		sList.add(new Statement(24000L,3,"</template>"));
		sList.add(new Statement(25000L,0,""));
		sList.add(new Statement(26000L,3,"<el-dropdown class=\"avatar-container right-menu-item hover-effect\" trigger=\"click\">"));
		sList.add(new Statement(27000L,4,"<div class=\"avatar-wrapper\">"));
		sList.add(new Statement(28000L,5,"<img :src=\"avatar+'?imageView2/1/w/80/h/80'\" class=\"user-avatar\">"));
		sList.add(new Statement(29000L,5,"<i class=\"el-icon-caret-bottom\"/>"));
		sList.add(new Statement(30000L,4,"</div>"));
		sList.add(new Statement(31000L,4,"<el-dropdown-menu slot=\"dropdown\">"));
		sList.add(new Statement(32000L,5,"<router-link to=\"/\">"));
		sList.add(new Statement(33000L,6,"<el-dropdown-item>"));
		sList.add(new Statement(34000L,7,"{{ $t('navbar.dashboard') }}"));
		sList.add(new Statement(35000L,6,"</el-dropdown-item>"));
		sList.add(new Statement(36000L,5,"</router-link>"));
		sList.add(new Statement(37000L,5,"<a target=\"_blank\" href=\""+this.projectHome+"\">"));
		sList.add(new Statement(38000L,6,"<el-dropdown-item>"));
		sList.add(new Statement(39000L,7,"{{ $t('navbar.github') }}"));
		sList.add(new Statement(40000L,6,"</el-dropdown-item>"));
		sList.add(new Statement(41000L,5,"</a>"));
		sList.add(new Statement(42000L,5,"<el-dropdown-item divided>"));
		sList.add(new Statement(43000L,6,"<span style=\"display:block;\" @click=\"logout\">{{ $t('navbar.logOut') }}</span>"));
		sList.add(new Statement(44000L,5,"</el-dropdown-item>"));
		sList.add(new Statement(45000L,4,"</el-dropdown-menu>"));
		sList.add(new Statement(46000L,3,"</el-dropdown>"));
		sList.add(new Statement(47000L,2,"</div>"));
		sList.add(new Statement(48000L,1,"</div>"));
		sList.add(new Statement(49000L,0,"</template>"));
		sList.add(new Statement(50000L,0,""));
		sList.add(new Statement(51000L,0,"<script>"));
		sList.add(new Statement(52000L,0,"import { mapGetters } from 'vuex'"));
		sList.add(new Statement(53000L,0,"import Breadcrumb from '@/components/Breadcrumb'"));
		sList.add(new Statement(54000L,0,"import Hamburger from '@/components/Hamburger'"));
		sList.add(new Statement(55000L,0,"import ErrorLog from '@/components/ErrorLog'"));
		sList.add(new Statement(56000L,0,"import Screenfull from '@/components/Screenfull'"));
		sList.add(new Statement(57000L,0,"import SizeSelect from '@/components/SizeSelect'"));
		sList.add(new Statement(58000L,0,"import LangSelect from '@/components/LangSelect'"));
		sList.add(new Statement(59000L,0,"import ThemePicker from '@/components/ThemePicker'"));
		sList.add(new Statement(60000L,0,"import Search from '@/components/HeaderSearch'"));
		sList.add(new Statement(61000L,0,""));
		sList.add(new Statement(62000L,0,"export default {"));
		sList.add(new Statement(63000L,1,"components: {"));
		sList.add(new Statement(64000L,2,"Breadcrumb,"));
		sList.add(new Statement(65000L,2,"Hamburger,"));
		sList.add(new Statement(66000L,2,"ErrorLog,"));
		sList.add(new Statement(67000L,2,"Screenfull,"));
		sList.add(new Statement(68000L,2,"SizeSelect,"));
		sList.add(new Statement(69000L,2,"LangSelect,"));
		sList.add(new Statement(70000L,2,"ThemePicker,"));
		sList.add(new Statement(71000L,2,"Search"));
		sList.add(new Statement(72000L,1,"},"));
		sList.add(new Statement(73000L,1,"computed: {"));
		sList.add(new Statement(74000L,2,"...mapGetters(["));
		sList.add(new Statement(75000L,3,"'sidebar',"));
		sList.add(new Statement(76000L,3,"'name',"));
		sList.add(new Statement(77000L,3,"'avatar',"));
		sList.add(new Statement(78000L,3,"'device'"));
		sList.add(new Statement(79000L,2,"])"));
		sList.add(new Statement(80000L,1,"},"));
		sList.add(new Statement(81000L,1,"methods: {"));
		sList.add(new Statement(82000L,2,"toggleSideBar() {"));
		sList.add(new Statement(83000L,3,"this.$store.dispatch('toggleSideBar')"));
		sList.add(new Statement(84000L,2,"},"));
		sList.add(new Statement(85000L,2,"logout() {"));
		sList.add(new Statement(86000L,3,"this.$store.dispatch('LogOut').then(() => {"));
		sList.add(new Statement(87000L,4,"location.reload()// In order to re-instantiate the vue-router object to avoid bugs"));
		sList.add(new Statement(88000L,3,"})"));
		sList.add(new Statement(89000L,2,"}"));
		sList.add(new Statement(90000L,1,"}"));
		sList.add(new Statement(91000L,0,"}"));
		sList.add(new Statement(92000L,0,"</script>"));
		sList.add(new Statement(93000L,0,""));
		sList.add(new Statement(94000L,0,"<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>"));
		sList.add(new Statement(95000L,0,".navbar {"));
		sList.add(new Statement(96000L,1,"height: 50px;"));
		sList.add(new Statement(97000L,1,"overflow: hidden;"));
		sList.add(new Statement(98000L,0,""));
		sList.add(new Statement(99000L,0,".hamburger-container {"));
		sList.add(new Statement(100000L,1,"line-height: 46px;"));
		sList.add(new Statement(101000L,1,"height: 100%;"));
		sList.add(new Statement(102000L,1,"float: left;"));
		sList.add(new Statement(103000L,1,"cursor: pointer;"));
		sList.add(new Statement(104000L,1,"transition: background .3s;"));
		sList.add(new Statement(105000L,0,""));
		sList.add(new Statement(106000L,1,"&:hover {"));
		sList.add(new Statement(107000L,1,"background: rgba(0, 0, 0, .025)"));
		sList.add(new Statement(108000L,1,"}"));
		sList.add(new Statement(109000L,0,"}"));
		sList.add(new Statement(110000L,0,""));
		sList.add(new Statement(111000L,0,".breadcrumb-container {"));
		sList.add(new Statement(112000L,1,"float: left;"));
		sList.add(new Statement(113000L,0,"}"));
		sList.add(new Statement(114000L,0,""));
		sList.add(new Statement(115000L,0,".errLog-container {"));
		sList.add(new Statement(116000L,1,"display: inline-block;"));
		sList.add(new Statement(117000L,1,"vertical-align: top;"));
		sList.add(new Statement(118000L,0,"}"));
		sList.add(new Statement(119000L,0,""));
		sList.add(new Statement(120000L,0,".right-menu {"));
		sList.add(new Statement(121000L,1,"float: right;"));
		sList.add(new Statement(122000L,1,"height: 100%;"));
		sList.add(new Statement(123000L,1,"line-height: 50px;"));
		sList.add(new Statement(124000L,0,""));
		sList.add(new Statement(125000L,1,"&:focus {"));
		sList.add(new Statement(126000L,1,"outline: none;"));
		sList.add(new Statement(127000L,1,"}"));
		sList.add(new Statement(128000L,0,""));
		sList.add(new Statement(129000L,1,".right-menu-item {"));
		sList.add(new Statement(130000L,1,"display: inline-block;"));
		sList.add(new Statement(131000L,1,"padding: 0 8px;"));
		sList.add(new Statement(132000L,1,"height: 100%;"));
		sList.add(new Statement(133000L,1,"font-size: 18px;"));
		sList.add(new Statement(134000L,1,"color: #5a5e66;"));
		sList.add(new Statement(135000L,1,"vertical-align: text-bottom;"));
		sList.add(new Statement(136000L,0,""));
		sList.add(new Statement(137000L,1,"&.hover-effect {"));
		sList.add(new Statement(138000L,2,"cursor: pointer;"));
		sList.add(new Statement(139000L,2,"transition: background .3s;"));
		sList.add(new Statement(140000L,0,""));
		sList.add(new Statement(141000L,2,"&:hover {"));
		sList.add(new Statement(142000L,2,"background: rgba(0, 0, 0, .025)"));
		sList.add(new Statement(143000L,2,"}"));
		sList.add(new Statement(144000L,1,"}"));
		sList.add(new Statement(145000L,1,"}"));
		sList.add(new Statement(146000L,0,""));
		sList.add(new Statement(147000L,1,".avatar-container {"));
		sList.add(new Statement(148000L,1,"margin-right: 30px;"));
		sList.add(new Statement(149000L,0,""));
		sList.add(new Statement(150000L,1,".avatar-wrapper {"));
		sList.add(new Statement(151000L,2,"margin-top: 5px;"));
		sList.add(new Statement(152000L,2,"position: relative;"));
		sList.add(new Statement(153000L,0,""));
		sList.add(new Statement(154000L,2,".user-avatar {"));
		sList.add(new Statement(155000L,2,"cursor: pointer;"));
		sList.add(new Statement(156000L,2,"width: 40px;"));
		sList.add(new Statement(157000L,2,"height: 40px;"));
		sList.add(new Statement(158000L,2,"border-radius: 10px;"));
		sList.add(new Statement(159000L,2,"}"));
		sList.add(new Statement(160000L,0,""));
		sList.add(new Statement(161000L,2,".el-icon-caret-bottom {"));
		sList.add(new Statement(162000L,2,"cursor: pointer;"));
		sList.add(new Statement(163000L,2,"position: absolute;"));
		sList.add(new Statement(164000L,2,"right: -20px;"));
		sList.add(new Statement(165000L,2,"top: 25px;"));
		sList.add(new Statement(166000L,2,"font-size: 12px;"));
		sList.add(new Statement(167000L,2,"}"));
		sList.add(new Statement(168000L,1,"}"));
		sList.add(new Statement(169000L,1,"}"));
		sList.add(new Statement(170000L,0,"}"));
		sList.add(new Statement(171000L,0,"}"));
		sList.add(new Statement(172000L,0,"</style>"));

		return WriteableUtil.merge(sList);
	}

	public String getProjectHome() {
		return projectHome;
	}

	public void setProjectHome(String projectHome) {
		this.projectHome = projectHome;
	}
}
